<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en-us">
<head>
  <title>JEDI Code Library Release 2.3</title>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <link rel="stylesheet" type="text/css" href="styles/default.css">
  <meta content="Project JEDI" name="author">
</head>


<body>

<hr><br>

<h1>JEDI Code Library</h1>

<p>Release 2.5<br>
Build 4572<br>
06-September-2012</p>

<hr><br>

<h3>Content of this file</h3>

<ul>

  <li><a href="#about">About this release</a></li>

  <li><a href="#targets">Supported tools</a></li>

  <li><a href="#notes">Installation notes</a></li>

  <li><a href="#manual">Manual installation</a></li>

  <li><a href="#files">Distribution content</a></li>

  <li><a href="#feedback">Giving your feedback</a></li>

  <li><a href="#issues">Reporting bugs</a></li>

  <li><a href="#releases">Downloads of stable sources</a></li>

  <li><a href="#development">Development sources</a></li>

  <li><a href="#contribute">Getting involved in JCL development</a></li>

</ul>

<hr><br>

<h3><a name="about">About this release</a></h3>
<p>JCL release 2.4 provides support for RAD Studio XE3 (including
Delphi XE3 and C++Builder XE3) an updated support for all targets.</p>

<p>Multiple bugs have been
fixed; for detailed change logs, use the facilities of our Subversion repository
at Sourceforge.net&nbsp;
<a href="http://sourceforge.net/projects/jcl/">http://sourceforge.net/projects/jcl/</a>
, see below.</p>

<p><span style="font-weight: bold;">Head changes:</span>
</p>

<ul>

 <li>Speed improvements in string conversion functions and in TJclSimpleXml; new option to enable case sensitivity</li>
 <li>New function FileDateTime and FileHistory in JclFileUtils.pas</li>
 <li>JclPeImage can now read string tables</li>
 <li>Speed improvements in JclDebug when parsing MAP files and generating JCL Debug information</li>
 <li>JclSysUtils.Execute: Custom priority for spawned processes</li>
 <li>JclCompression: information about which file is being extracted or compressed</li>
 <li>bzip2.pas, pcre.pas, zlibh.pas and sevenzip.pas: new option to customize the name of the DLL to load, full support for Win64</li>
 <li>JclHashSets.pas reimplemented from scratch</li>
 <li>JclPrint.pas: major update to prevent corruption of printer settings</li>
 <li>Experts: various fixes to prevent access violations on invokes and on unloads</li>
 <li>SVN 1.7 support in JCL Version control integration</li>
 <li>zlibh.pas and JclCompression.pas: new option to use RTL zlib</li>
 <li>JclUnicode.pas and others: the RTL Unicode database is now fully supported and does not require the JCL Unicode database anymore</li>
 <li>JclUnicode.pas: update to Unicode Character Database (UCD) 6.0</li>
 <li>pcre.pas: update to PCRE 8.31 with JIT and 16-bit character support</li>
 <li>favorite combobox and custom open dialog: support with Vista new-style open dialogs</li>
 <li>Exception dialog: 64-bit compatibility</li>
 <li>Stack tracking now supports Win64</li>

</ul>

<p><span style="font-weight: bold;">Important:</span>
</p>

<ul>

  <li>
   <p>As of JCL 2.0, the library does not support Delphi 5, C++Builder 5, Kylix 3 and Delphi.net anymore;</p>
   <p>Due to many internal failure, we do not provide full support for Delphi 2005: JCL for Delphi 2005 should compile, it may work or not.</p>
  </li>

</ul>

<p><span style="font-weight: bold;">(Windows only)&nbsp;Installation&nbsp;options:</span></p>

<p>Packages compiled by the JCL installer don't contain any debug
informations to keep their size as small as possible.</p>

<p>The JEDI Code Library packages are required by some 3rd party packages
(including the JEDI Visual Component Library - JVCL), the installer generates
them if the "Packages" node is checked.</p>

<p>The installer can generate MAP informations for each package. These informations
can be linked into binaries to become JCL debug data or be converted to .jdbg files.
Once linked MAP files could be deleted. These options are subnodes of the "Packages" node.</p>

<p>For BDS 2006, RAD Studio 2007, RAD Studio 2009, RAD Studio 2010, RAD Studio XE, RAD Studio XE2, 
RAD Studio XE3, RAD Studio XE4, RAD Studio XE5, RAD Studio XE6, RAD Studio XE7, RAD Studio XE8, 
RAD Studio 10, RAD Studio 10.1, and RAD Studio 10.2 the
compiler introduced a new option to make the same packages available in C++,
by checking the "Dual packages" option of the "Packages" node, you will be able
to call functions of the JCL from C++ code.</p>

<hr><br>

<h3><a name="targets">Supported Tools</a></h3>

<p>The JEDI Code Library can be compiled and installed in the following environments</p>

<p><span style="font-weight: bold;">Only runtime support:</span></p>

<ul>

  <li>FreePascal (tested with 2.2.2 and 2.2.4).</li>

</ul>


<p><span style="font-weight: bold;">Only design-time support (only experts):</span></p>

<ul>

  <li>C#Builder 1 (cf <a href="#notes">Installation notes</a>);</li>

  <li>Delphi 8.net (cf <a href="#notes">Installation notes</a>);</li>

</ul>

<p><span style="font-weight: bold;">Both supports (run time and design time):</span></p>

<ul>

  <li>Delphi 6, Delphi 7 and Delphi 2005;</li>

  <li>C++Builder 6;</li>

  <li>Delphi 2005 (without unit versioning support);</li>

  <li>Borland Developer Studio 2006 (Delphi for Win32, C++Builder Win32, Delphi.net and C#Builder personalities);</li>

  <li>Turbo Delphi (explorer and professional - cf <a href="#notes">Installation notes</a>);</li>

  <li>CodeGear RAD Studio 2007 (Delphi for Win32 and C++Builder for Win32 personalities);</li>

  <li>Delphi 2009 and C++Builder 2009;</li>

  <li>Delphi 2010 and C++Builder 2010.</li>

  <li>Delphi XE and C++Builder XE.</li>

  <li>Delphi XE2 and C++Builder XE2.</li>

  <li>Delphi XE3 and C++Builder XE3.</li>

  <li>Delphi XE4 and C++Builder XE4.</li>

  <li>Delphi XE5 and C++Builder XE5.</li>

  <li>Delphi XE6 and C++Builder XE6.</li>  

  <li>Delphi XE7 and C++Builder XE7.</li>  

  <li>Delphi XE8 and C++Builder XE8.</li>  

  <li>Delphi 10 and C++Builder 10.</li>  

  <li>Delphi 10.1 and C++Builder 10.1.</li>  

  <li>Delphi 10.2 and C++Builder 10.2.</li>  

</ul>

<hr><br>

<h3><a name="notes">Installation notes</a></h3>

<ul>

  <li>Free Pascal (http://www.freepascal.org/) support has been updated for
   this release; most units fromsource/common work with FP 2.2.</li>

</ul>

<p><span style="font-weight: bold;">Installation for Turbo Delphi</span></p>

<p>The JEDI Code Library can be compiled targetting Turbo Delphi Explorer and Turbo Delphi Professional.
Turbo Delphi Professional is recognized as BDS 2006, you have to download its command line compiler from
CodeGear website at&nbsp;<a href="http://www.codegear.com/Default.aspx?tabid=160">http://www.codegear.com/Default.aspx?tabid=160</a>&nbsp;
to install the full JCL on this tool.</p>

<p>To install the JCL targetting Turbo Delphi Explorer, consider the following checks:</p>

<ul>

  <li>If you have an other supported version of Delphi/C++Builder on this computer, it should automatically be
  detected and the installer will process as usual.</li>

  <li>If you only have Turbo Delphi Explorer (and no other tools) on the computer, the installer cannot be
  compiled. You have to use the Turbo Explorer flavor of the JCL that contains a precompiled installer. However,
  you will not be able to install any experts.</li>

</ul>

<p><span style="font-weight: bold;">Installation on C#Builder 1 and Delphi 8:</span></p>

<ul>

  <li>These products cannot be used to build the JCL installer, you need an
  other supported product to install JCL experts on these products.</li>

  <li>These products are not able to use the JCL library as a runtime library.
  You cannot write managed applications and managed packages based on the JCL.</li>

  <li>These products are not shipped with their native compilers, you have to
  download it from codecentral (<a href="http://cc.codegear.com/">http://cc.codegear.com/</a>).
  The item (<a href="http://codecentral.codegear.com/Download.aspx?id=21333">http://codecentral.codegear.com/Download.aspx?id=21333</a>)
  &nbsp;contains the native compiler to be installed in Delphi 8.
  The item (<a href="http://codecentral.codegear.com/Download.aspx?id=21334">http://codecentral.codegear.com/Download.aspx?id=21334</a>)
  &nbsp;contains the native compiler to be installed in C#Builder 1.
  These zip files have to be extracted in the products directory using the standard pattern:</li>

</ul>

<pre>		   Executable files (exe and dll)      - BDS\X.0\bin<br>		   Compiler files (dcp and dcu)        - BDS\X.0\lib<br>		   Toolsapi source files               - BDS\X.0\source\ToolsAPI<br></pre>

<p><span style="font-weight: bold;">Default installation</span></p>

<p>For all others versions of Delphi, C++Builder and BDS, simply launch Install.bat
and the installer window will let you configure options and install the library.</p>

<hr><br>

<h3><a name="manual">Manual Installation</a></h3>

<p>Although it is not recommended, a manual installation is possible. You will have
to manually configure options for the library. That is done by modifying an included
file.
</p>
<p>
</p>
<p>For each tool you want to install the JCL in, repeat the following steps:</p>

<ol>

  <li>Open and edit included file to customize options:</li>
  <ul>

    <li>For C++Builder 6: source\include\jclc6.inc</li>

    <li>For Delphi 6: source\include\jcld6.inc</li>

    <li>For Delphi 7: source\include\jcld7.inc</li>

    <li>For Delphi 2005: source\include\jcld9.inc</li>

    <li>For BDS 2006 (Delphi and C++Builder): source\include\jcld10.inc</li>

    <li>For CodeGear RAD Studio 2007 (Delphi for Win32 and C++Builder): source\include\jcld11.inc</li>

    <li>For Delphi 2009 and C++Builder 2009: source\include\jcld12.inc</li>

    <li>For Delphi 2010 and C++Builder 2010: source\include\jcld14.inc</li>

    <li>For Delphi XE and C++Builder XE: source\include\jcld15.inc</li>

    <li>For Delphi XE2 and C++Builder XE2 Win32: source\include\jcld16win32.inc</li>

    <li>For Delphi XE2 Win64: source\include\jcld16win64.inc</li>

    <li>For Delphi XE3 and C++Builder XE3 Win32: source\include\jcld17win32.inc</li>

    <li>For Delphi XE3 and C++Builder XE3 Win64: source\include\jcld17win64.inc</li>

    <li>For Delphi XE4 and C++Builder XE4 Win32: source\include\jcld18win32.inc</li>

    <li>For Delphi XE4 and C++Builder XE4 Win64: source\include\jcld18win64.inc</li>

    <li>For Delphi XE5 and C++Builder XE5 Win32: source\include\jcld19win32.inc</li>

    <li>For Delphi XE5 and C++Builder XE5 Win64: source\include\jcld19win64.inc</li>

    <li>For Delphi XE6 and C++Builder XE6 Win32: source\include\jcld20win32.inc</li>

    <li>For Delphi XE6 and C++Builder XE6 Win64: source\include\jcld20win64.inc</li>

    <li>For Delphi XE7 and C++Builder XE7 Win32: source\include\jcld21win32.inc</li>

    <li>For Delphi XE7 and C++Builder XE7 Win64: source\include\jcld21win64.inc</li>

    <li>For Delphi XE8 and C++Builder XE8 Win32: source\include\jcld22win32.inc</li>

    <li>For Delphi XE8 and C++Builder XE8 Win64: source\include\jcld22win64.inc</li>

    <li>For Delphi 10 and C++Builder 10 Win32: source\include\jcld23win32.inc</li>

    <li>For Delphi 10 and C++Builder 10 Win64: source\include\jcld23win64.inc</li>

    <li>For Delphi 10.1 and C++Builder 10.1 Win32: source\include\jcld24win32.inc</li>

    <li>For Delphi 10.1 and C++Builder 10.1 Win64: source\include\jcld24win64.inc</li>

    <li>For Delphi 10.2 and C++Builder 10.2 Win32: source\include\jcld25win32.inc</li>

    <li>For Delphi 10.2 and C++Builder 10.2 Win64: source\include\jcld25win64.inc</li>

    <li>For FreePascal: source\include\jclfpc.inc</li>
  </ul>

  <li>In the IDE, open and compile package Jcl.dpk (or Jcl.bpk for C++Builder)
  located in a subdirectory of the "packages" directory matching your version of
  the IDE. This package doesn't have to be installed since it doesn't provide
  any components.</li>

  <li>If you want to install experts, open package JclBaseExpert.dpk and compile it,
   then you can install all the experts you want (packages are located in the same
    directory).</li>

</ol>

<hr><br>

<h3><a name="files">Distribution content</a></h3>

<pre>
Install.bat                   - Compile and run VCL version of the JCL Installer (Win32)
bin                           - Common place for sample application EXE files
lib                           - Common place for compiled units.
docs                          - Readme (this file) and other documents
docs\Readme.html              - This file
docs\Experts.html             - Readme file about the experts
docs\MPL-1.1.txt              - The Mozilla Public Licence (MPL) version 1.1
docs\MPL FAQ.html             - Frequently Asked Questions about the MPL
docs\cps.html                 - Cross Platform Strategy
experts                       - JCL IDE experts source code
experts\debug                 - JCL Debug IDE expert for using JclDebug unit
experts\debug\simdview        - Low-level debug window for XMM registers
experts\debug\threadnames     - IDE expert showing class names for debugged threads
experts\favfolders            - Favorite folders combobox in IDE open/save file dialogs
experts\projectanalyzer       - Project Analyzer IDE expert
experts\repository            - Repository expert
experts\repository\ExceptionDialog - Repository expert for exception dialogs
experts\repository\ExceptionDialog\StandardDialogs - standard exception dialogs
experts\stacktraceviewer      - stack trace expert
experts\useswizard            - JCL uses wizard
experts\versioncontrol        - Integration of TortoiseCVS and TortoiseSVN in the IDE
examples                      - JCL example applications
examples\common               - CLX and Win32 example applications in Delphi
examples\windows              - JCL example applications for Delphi.Win32
examples\windows\delphitools  - Collection of system tools using JCL
examples\windows\debug\tools           - Tools for creating files with JCL debug information
help                          - Help file (distributed in a separate archive)
install                       - Installer source code
packages                      - JCL package sources
source                        - JCL source code
</pre>

<hr><br>

<h3><a name="feedback">Giving your feedback</a></h3>

If you have any comments or suggestions we would appreciate it if you
drop us a note. There are several ways to get in contact with us:
<ul>

  <li>Newsgroup is the recommended way to contact other JCL users and the team itself.
They are hosted at&nbsp;<a href="news://forums.talkto.net/jedi.jcl">news://news.delphi-jedi.org/jedi.jcl</a>.</li>

  <li>Write to&nbsp;<a href="mailto:jcl@delphi-jedi.org">jcl@delphi-jedi.org</a>&nbsp;
or to&nbsp;<a href="mailto:jcl-testing@delphi-jedi.org">jcl-testing@delphi-jedi.org</a>&nbsp;
This email account should not be used for support requests. If you need
support please use either the newsgroups or the mailing list.</li>

  <li>If you want to keep up to date about JCL then you can join the
JCL mailing list by going to <a href="http://tech.groups.yahoo.com/group/JEDI-JCL/">http://tech.groups.yahoo.com/group/JEDI-JCL/</a>
You can also use this list to voice your opinion, comments or suggestions.</li>

</ul>

<hr>
<h3><a name="issues">Reporting bugs</a></h3>

<p>The general rule is: <b><font color="#ff0000">If you want to get a
bug fixed you need to log it!</font></b></p>

<p>An issue tracking tool can be accessed via ('Code Library' category):
<a href="http://issuetracker.delphi-jedi.org/">http://issuetracker.delphi-jedi.org/</a></p>

<p>Please be aware that you are allowed there to enter feature request and code donations as well.</p>

<p>The JEDI issue tracker is based up on the Mantis BugTracker Open
Source project. More background information about it is available on its homepage&nbsp;
<a href="http://mantisbt.sourceforge.net/">http://mantisbt.sourceforge.net</a></p>

<hr><br>

<h3><a name="releases">Downloads of stable sources</a></h3>

<p>These sources are official JCL releases and file status can be considered as
stable for use in final applications. During the past years, there have been around 2
or 3 releases per year.</p>

<p>JEDI Code Library: File List on SourceForge:&nbsp;
<a href="http://sourceforge.net/project/showfiles.php?group_id=47514">http://sourceforge.net/project/showfiles.php?group_id=47514</a>
</p>

<hr><br>

<h3><a name="development">Development sources</a></h3>

<p>These files are under active development and may cause some incompatibilities
and some conflicts with existing code. You should not use these files in final
applications. The JCL development team provides these files for testing and
feedback from users.</p>

<p>You can download snapshots of the Subversion repository updated every day in the JCL daily page
&nbsp;<a href="http://jcl.sourceforge.net/daily/">http://jcl.sourceforge.net/daily/</a></p>

<p>To always have access to the most recent changes in the JCL, you
should install a Subversion client (we recommend TortoiseSVN <a href="http://tortoisesvn.tigris.org/">http://tortoisesvn.tigris.org/</a>
and RapidSVN <a href="http://rapidsvn.tigris.org/">http://rapidsvn.tigris.org/</a>) and download the
SVN repository files to your computer as explained in the repository page of the JEDI Wiki at
<a href="http://wiki.delphi-jedi.org/index.php?title=Repository">http://wiki.delphi-jedi.org/index.php?title=Repository</a>&nbsp;
With the SVN client, you can update your local repository at any time.
You can also view the repository online via the web interface at <a href="http://jcl.svn.sourceforge.net/">http://jcl.svn.sourceforge.net/</a></p>

<hr><br>

<h3><a name="contribute">Getting involved in JCL development</a></h3>

If you want to help out making JCL better or bigger or just plain
cooler, there are several ways in which you can help out. Here are some of the
things we need your help on:
<ul>

  <li>Donate source code</li>

  <li>Donate time writing help</li>

  <li>Donate time writing demos</li>

  <li>Donate time fixing bugs</li>

  <li>Share your experience by helping users in newsgroups and mailing lists</li>

</ul>

<p>JCL accepts donations from developers as long as the source fullfills the
requirements set up by the JEDI and JCL teams. To read more about these
requirements, visit the page <a href="http://jcl.delphi-jedi.org/">http://jcl.delphi-jedi.org/</a></p>

<p>You can also donate your time by writing help for the source already
in JCL. We currently use Doc-o-Matic to create the finished help files but
the actual help sources are plain text files in a simple to understand format.
We can provide you with auto-generated templates with all classes, properties,
types etc already inserted. The "only" thing left to do is fill in the actual
help text for the help items. If you are interested in writing help, contact us.</p>

<p>If you want to help fix bugs in JCL, go to Mantis and check the bug report
there. You can post replies as well as fixes directly in the bug report. One of the
JCL developers will pick up the report/fix and update the Subversion repository if the fi
is satisfactory. If you report and fix a lot of bugs, you might even get developer
access to SVN so you can update the JCL files directly.</p>

</body>
</html>
